package dao

import "2302a/chatroom/global"

func Create[T any](data *T) bool {

	if err := global.DB.Create(data).Error; err != nil {

		return false
	}
	return true
}
func Update[T any](data *T) bool {

	if err := global.DB.Updates(data).Error; err != nil {

		return false
	}
	return true
}
func Delete[T any](data *T) bool {

	if err := global.DB.Delete(data).Error; err != nil {

		return false
	}
	return true
}

func GetOneById[T any](Id uint, data *T) bool {

	if err := global.DB.Where("id=?", Id).Limit(1).Find(data).Error; err != nil {

		return false
	}
	return true
}

func GetOneByFields[T any](where *T, data *T) bool {

	if err := global.DB.Where(where).Limit(1).Find(data).Error; err != nil {

		return false
	}
	return true
}

func GetListByFields[T any](where *T, data *[]T) bool {

	if err := global.DB.Where(where).Find(data).Error; err != nil {

		return false
	}
	return true
}
